home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / PInterfaces / QDOffscreen.p < prev    next >
Text File  |  1996-05-01  |  5KB  |  192 lines

  1. {
  2.      File:        QDOffscreen.p
  3.  
  4.      Contains:    Quickdraw Offscreen GWorld Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT QDOffscreen;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __QDOFFSCREEN__}
  28. {$SETC __QDOFFSCREEN__ := 1}
  29.  
  30. {$I+}
  31. {$SETC QDOffscreenIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __ERRORS__}
  35. {$I Errors.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __QUICKDRAW__}
  38. {$I Quickdraw.p}
  39. {$ENDC}
  40.  
  41. {$PUSH}
  42. {$ALIGN MAC68K}
  43. {$LibExport+}
  44.  
  45. {$IFC FOR_SYSTEM7_AND_SYSTEM8_COOPERATIVE }
  46.  
  47. CONST
  48.     pixPurgeBit                    = 0;
  49.     noNewDeviceBit                = 1;
  50.     useTempMemBit                = 2;
  51.     keepLocalBit                = 3;
  52.     pixelsPurgeableBit            = 6;
  53.     pixelsLockedBit                = 7;
  54.     mapPixBit                    = 16;
  55.     newDepthBit                    = 17;
  56.     alignPixBit                    = 18;
  57.     newRowBytesBit                = 19;
  58.     reallocPixBit                = 20;
  59.     clipPixBit                    = 28;
  60.     stretchPixBit                = 29;
  61.     ditherPixBit                = 30;
  62.     gwFlagErrBit                = 31;
  63.  
  64.     pixPurge                    = $00000001;
  65.     noNewDevice                    = $00000002;
  66.     useTempMem                    = $00000004;
  67.     keepLocal                    = $00000008;
  68.     pixelsPurgeable                = $00000040;
  69.     pixelsLocked                = $00000080;
  70.     mapPix                        = $00010000;
  71.     newDepth                    = $00020000;
  72.     alignPix                    = $00040000;
  73.     newRowBytes                    = $00080000;
  74.     reallocPix                    = $00100000;
  75.     clipPix                        = $10000000;
  76.     stretchPix                    = $20000000;
  77.     ditherPix                    = $40000000;
  78.     gwFlagErr                    = $80000000;
  79.  
  80.  
  81. TYPE
  82.     GWorldFlags                            = LONGINT;
  83. {  Type definition of a GWorldPtr  }
  84.     GWorldPtr                            = CGrafPtr;
  85. FUNCTION NewGWorld(VAR offscreenGWorld: GWorldPtr; PixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): QDErr;
  86.     {$IFC NOT GENERATINGCFM}
  87.     INLINE $203C, $0016, $0000, $AB1D;
  88.     {$ENDC}
  89. FUNCTION LockPixels(pm: PixMapHandle): BOOLEAN;
  90.     {$IFC NOT GENERATINGCFM}
  91.     INLINE $203C, $0004, $0001, $AB1D;
  92.     {$ENDC}
  93. PROCEDURE UnlockPixels(pm: PixMapHandle);
  94.     {$IFC NOT GENERATINGCFM}
  95.     INLINE $203C, $0004, $0002, $AB1D;
  96.     {$ENDC}
  97. FUNCTION UpdateGWorld(VAR offscreenGWorld: GWorldPtr; pixelDepth: INTEGER; {CONST}VAR boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags): GWorldFlags;
  98.     {$IFC NOT GENERATINGCFM}
  99.     INLINE $203C, $0016, $0003, $AB1D;
  100.     {$ENDC}
  101. PROCEDURE DisposeGWorld(offscreenGWorld: GWorldPtr);
  102.     {$IFC NOT GENERATINGCFM}
  103.     INLINE $203C, $0004, $0004, $AB1D;
  104.     {$ENDC}
  105. PROCEDURE GetGWorld(VAR port: CGrafPtr; VAR gdh: GDHandle);
  106.     {$IFC NOT GENERATINGCFM}
  107.     INLINE $203C, $0008, $0005, $AB1D;
  108.     {$ENDC}
  109. PROCEDURE SetGWorld(port: CGrafPtr; gdh: GDHandle);
  110.     {$IFC NOT GENERATINGCFM}
  111.     INLINE $203C, $0008, $0006, $AB1D;
  112.     {$ENDC}
  113. PROCEDURE CTabChanged(ctab: CTabHandle);
  114.     {$IFC NOT GENERATINGCFM}
  115.     INLINE $203C, $0004, $0007, $AB1D;
  116.     {$ENDC}
  117. PROCEDURE PixPatChanged(ppat: PixPatHandle);
  118.     {$IFC NOT GENERATINGCFM}
  119.     INLINE $203C, $0004, $0008, $AB1D;
  120.     {$ENDC}
  121. PROCEDURE PortChanged(port: GrafPtr);
  122.     {$IFC NOT GENERATINGCFM}
  123.     INLINE $203C, $0004, $0009, $AB1D;
  124.     {$ENDC}
  125. PROCEDURE GDeviceChanged(gdh: GDHandle);
  126.     {$IFC NOT GENERATINGCFM}
  127.     INLINE $203C, $0004, $000A, $AB1D;
  128.     {$ENDC}
  129. PROCEDURE AllowPurgePixels(pm: PixMapHandle);
  130.     {$IFC NOT GENERATINGCFM}
  131.     INLINE $203C, $0004, $000B, $AB1D;
  132.     {$ENDC}
  133. PROCEDURE NoPurgePixels(pm: PixMapHandle);
  134.     {$IFC NOT GENERATINGCFM}
  135.     INLINE $203C, $0004, $000C, $AB1D;
  136.     {$ENDC}
  137. FUNCTION GetPixelsState(pm: PixMapHandle): GWorldFlags;
  138.     {$IFC NOT GENERATINGCFM}
  139.     INLINE $203C, $0004, $000D, $AB1D;
  140.     {$ENDC}
  141. PROCEDURE SetPixelsState(pm: PixMapHandle; state: GWorldFlags);
  142.     {$IFC NOT GENERATINGCFM}
  143.     INLINE $203C, $0008, $000E, $AB1D;
  144.     {$ENDC}
  145. FUNCTION GetPixBaseAddr(pm: PixMapHandle): Ptr;
  146.     {$IFC NOT GENERATINGCFM}
  147.     INLINE $203C, $0004, $000F, $AB1D;
  148.     {$ENDC}
  149. FUNCTION NewScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  150.     {$IFC NOT GENERATINGCFM}
  151.     INLINE $203C, $000E, $0010, $AB1D;
  152.     {$ENDC}
  153. PROCEDURE DisposeScreenBuffer(offscreenPixMap: PixMapHandle);
  154.     {$IFC NOT GENERATINGCFM}
  155.     INLINE $203C, $0004, $0011, $AB1D;
  156.     {$ENDC}
  157. FUNCTION GetGWorldDevice(offscreenGWorld: GWorldPtr): GDHandle;
  158.     {$IFC NOT GENERATINGCFM}
  159.     INLINE $203C, $0004, $0012, $AB1D;
  160.     {$ENDC}
  161. FUNCTION QDDone(port: GrafPtr): BOOLEAN;
  162.     {$IFC NOT GENERATINGCFM}
  163.     INLINE $203C, $0004, $0013, $AB1D;
  164.     {$ENDC}
  165. FUNCTION OffscreenVersion: LONGINT;
  166.     {$IFC NOT GENERATINGCFM}
  167.     INLINE $7014, $AB1D;
  168.     {$ENDC}
  169. FUNCTION NewTempScreenBuffer({CONST}VAR globalRect: Rect; purgeable: BOOLEAN; VAR gdh: GDHandle; VAR offscreenPixMap: PixMapHandle): QDErr;
  170.     {$IFC NOT GENERATINGCFM}
  171.     INLINE $203C, $000E, $0015, $AB1D;
  172.     {$ENDC}
  173. FUNCTION PixMap32Bit(pmHandle: PixMapHandle): BOOLEAN;
  174.     {$IFC NOT GENERATINGCFM}
  175.     INLINE $203C, $0004, $0016, $AB1D;
  176.     {$ENDC}
  177. FUNCTION GetGWorldPixMap(offscreenGWorld: GWorldPtr): PixMapHandle;
  178.     {$IFC NOT GENERATINGCFM}
  179.     INLINE $203C, $0004, $0017, $AB1D;
  180.     {$ENDC}
  181. {$ENDC}
  182. {$ALIGN RESET}
  183. {$POP}
  184.  
  185. {$SETC UsingIncludes := QDOffscreenIncludes}
  186.  
  187. {$ENDC} {__QDOFFSCREEN__}
  188.  
  189. {$IFC NOT UsingIncludes}
  190.  END.
  191. {$ENDC}
  192.